# 第一阶段：构建阶段
# 使用官方的 Go 基础镜像，用于编译 Go 代码
FROM golang:1.24-alpine AS builder

# 设置工作目录
WORKDIR /app
# 更换 Go 模块代理为国内常用代理
ENV GOPROXY=https://goproxy.cn,direct

# 将当前目录下的所有文件复制到工作目录
COPY . .
ARG ENVIROMENT=fat
# 下载依赖包
RUN echo $ENVIROMENT
RUN chmod 777 /app/build.sh \
    && cd /app\
    && sh build.sh 1.0.0-SNAPSHOT linux amd64 ${ENVIROMENT}

FROM alpine:latest
# 设置时区
# ENV TZ=Asia/Shanghai
# RUN apk --no-cache add tzdata && \
#     cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
#     echo "Asia/Shanghai" > /etc/timezone
# 设置工作目录
WORKDIR /app
# 从构建阶段的镜像中复制编译好的可执行文件到当前镜像
COPY --from=builder /app/build/dsc-server-linux-amd64 .


# 定义容器启动时执行的命令
CMD ["./dsc-server-1.0.0-SNAPSHOT"]